package org.example.lock8;

import java.util.concurrent.TimeUnit;

/**
 * 8锁问题（理解什么是锁，锁的是什么？）
 * 1. 标准情况下，先发短信/打电话？   发短信
 * 2. 发短信中延时？               发短信
 */
public class Lock01 {

    public static void main(String[] args) throws InterruptedException {
        Phone1 phone = new Phone1();
        new Thread(() -> { phone.sendEmail(); }).start();
        TimeUnit.SECONDS.sleep(1);
        new Thread(() -> { phone.sendSms(); }).start();
    }
}

// 手机
class Phone1 {

    public synchronized void sendEmail() {
        try {
            TimeUnit.SECONDS.sleep(3);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("发短信");
    }

    public synchronized void sendSms() {
        System.out.println("打电话");
    }

}
